Method, game server and mobile terminal for providing game server with game room information

ABSTRACT

A method, a game server and a mobile terminal for providing a game user with game room information is disclosed in the present invention, the method including: the game server detecting a game user&#39;s state change in the game room; if a game user joins the game, storing the game user&#39;s table and seat state as occupied; if the game user leaves the game, storing the game user&#39;s table and seat state as unoccupied, and sending to the game user the IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game. In accordance with the present invention, the game user is provided with the IDs of the tables and seats with state change when the game user leaves the game. Therefore, the data flow is reduced considerably, the game speed is accelerated, and the user may pay fewer network fees.

This application is a continuation of International Patent Application No. PCT/CN2006/000656, filed Apr. 12, 2006, which claims priority to Chinese Patent Application No. 200510064238.1, filed Apr. 12, 2005, both of which are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to the mobile game field of mobile communications, and particularly to a method, a game server and a mobile terminal for providing a game user with game room information.

BACKGROUND OF THE INVENTION

The mobile game is a game running on a mobile terminal based on a mobile communication network. The mobile game represents a major direction for entertainment services. At present, the development of mobile games, however, suffers from the following two deficiencies.

I. The capabilities of a mobile terminal, including performance, memory, etc., are limited. Due to mediocre processing capability and small memory capacity of the chip in the mobile terminal, data processing of large capacity or with high frequency should be avoided.

II. The rate and capacity of the mobile communication network are also limited. Due to a relatively low transmission rate of the mobile communication network, excessive interaction with a game server may not be supported. Therefore, for the mobile game, the data interaction of large capacities between the client and game server should be avoided, and the frequency of data interaction should be reduced.

Therefore, for an online mobile game, the data capacity is carefully controlled in the process of the game.

At present, major flow of the online mobile game is the synchronous data of game room sent from a game server to game users. In the prior art, user data in the game room is synchronized in two modes as follows.

I. A game server broadcasts each action of each game user in a game room to all the other game users in the game room in real time.

For example, when a game user enters a game room, a game server will send all the game room information to the game user.

The game room information mainly includes:

user base information (UserBaseInfo), including: user identification (UserID), name, head portrait ID, level, credit, configuration information, etc.;

table and seat information of user (UserTabInfo), including: UserID, table ID, seat ID, operation ID, password, etc. The operation ID is used to identify whether a table and seat are occupied or unoccupied. For example, a value of 1 indicates that the table and seat are occupied, and a value of 0 indicates that the table and seat are unoccupied;

user information about leaving game room (UserLeaveRoomInfo), including: UserID, etc.

The UserID is used to uniquely identify the game user.

Then, as long as there is a change about any game room information, the game server will notify the game user of the room information changed in real time, which includes the processes as follows.

A. If another game user joins the game room, the game server sends to the game user the UserBaseInfo of the game user joining the game room.

B. If another game user joins the game, the game server sends to the game user the UserTabInfo of the game user joining the game.

C. If another game user leaves the game, the game server sends to the game user the UserTabInfo of the game user leaving the game.

D. If another user leaves the game room, the game server sends to the game user the UserLeaveRoomInfo of the game user leaving the game.

Now the mobile game only supports a single window, and is incapable of multitasking. Therefore, if game room information is sent to a game user playing a game, the game user will do nothing in response to the game room information, in other words, in the process of playing the game, it is only necessary for the game user to know the change in the current game interface, instead of the change in the game room. Only when the game user leaves the current game to select a new one, it is necessary for the game user to know which tables and seats are unoccupied, and the game server is required to provide the game user with the game room information. Otherwise, it is not necessary for the game server to send the room information to the game user.

II. A game user requests game room information from a game server on his or her own initiative.

Similarly, when, for example, a game user just enters a game room, the game server sends all the game room information to the game user. Then when the game user in the game room does not play any games, as long as there is a change in the game room information, the game server will send the game room information changed to the game user in real time. Meanwhile, if the game user requires the game room information when leaving a game table, the game user may sends to the game server a request for game room information (RequestRoomInfo), and the game server sends all the current room information to the game user in response to the request. When sending to the game user the game room information, the game server will not consider whether the game user has obtained some of the game room information before the game user plays the game, as well as whether some of the room information keeps unchanged when the game user plays the game. It is obvious that redundant data will be generated in this method: the game server once again sends the game room information which the game user has obtained to the game user while the room information has not changed in the game room.

It can be seen from the description above that redundant data will be generated in both the above two methods for providing the game user with the game room information. The redundant data brings the game user excessive data flow which raises the burden of processing on a client. Accordingly, game interfaces are refreshed slowly, game pictures can not be displayed fluently, and the game user has to pay more network fees.

SUMMARY OF THE INVENTION

The present invention provides a method, a game server and a mobile terminal for providing a game user with game room information, to reduce data flow of a mobile game when the game user can obtain the necessary game room information.

The present invention provides the following technical scheme.

A method for providing a game user with game room information, the game room information including identifications (IDs) of table and seat, the method includes:

storing the time when each game user joins a game in a game room, and storing the state of the table and seat of the game user as occupied when the game user joins the game;

storing the time when the game user leaves the game, and storing the state of the table and seat of the game user as unoccupied when the game user leaves the game; and

sending IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user.

The method o further includes:

sending IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time.

The sending the IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time includes:

sending to the game user the IDs of the unoccupied tables and seats in response to a request before the game user joins the game at first time, when receiving the request sent from the game user for the IDs of the unoccupied tables and seats.

The sending the IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time includes:

sending IDs of the unoccupied tables and seats when the game user joins the game room to the game user; and

sending IDs of the tables and seats with state change after the game user has been in the game room to the game user in real time.

The game room information further includes user base information, and the user base information includes user IDs, the method further includes:

storing the user base information of the game user when the game user joins the game; and

sending the user base information of all the game users joining the game between the time when the game user last joins the game and the time when the game user leaves the game to the game user when the game user leaves the game.

The user base information further includes:

at least one of head portrait ID, level, credit, and configuration information.

The game room information further includes user information about leaving game room, and the user information about leaving game room includes user IDs, the method further includes:

storing the user information about leaving game room of the game user when the game user leaves the game room;

sending the user information about leaving game room of all the other game users leaving the game between the time when the game user last joins the game and the time when the game user leaves the game to the game user, after the game user leaves the game.

The method further includes:

receiving a request for the game room information sent from the game user leaving the game before sending the IDs of all the tables and seats with state change to the game user leaving the game.

When the game user leaves the game and wants to starts a new one, the method further includes:

sending the game room information including at least the IDs of the tables and seats with state change to the game user in real time; or

sending to the game user the game room information including at least the IDs of the tables and seats with state change between the time when the game user leaves the game and the present time in response to a request sent from the game user for the game room information.

The IDs of the tables and seats are sent to the game user via table and seat information of user.

The table and seat information of user further includes at least one of user ID, states of table and seat, and table and seat password.

The sending the IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user includes:

determining state change of the tables and seats by comparing the states of the tables and seats at the time when the game user last joins the game with the states of the tables and seats at the time when the game user leaves the game; and

sending the IDs of all the tables and seats with state change to the game user.

A game server includes:

a first unit configured to store the time when each game user joins a game in a game room, and store the state of the table and seat of the game user as occupied when the game user joins the game; store the time when the game user leaves the game, and store the state of the table and seat of the game user as unoccupied when the game user leaves the game; and

a second unit configured to send identifications (IDs) of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user.

The game server further includes:

a third unit configured to send IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time.

A mobile terminal includes:

a first unit configured to receive identifications (IDs) of the unoccupied tables and seats from a game server before a game user of the mobile terminal first joins a game, and receive IDs of the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game from the game server;

a second unit configured to determine unoccupied tables and seats by comparing the IDs of the unoccupied tables and seats between the latest time when the game user joins the game and the time when the game use leaves the game with the IDs of the tables and seats with state change.

In comparison with the prior art, in the present invention, each time the game user leaves the game, the game server sends to the game user the IDs of the tables and seats with state change. Since the game user has obtained the IDs of the unoccupied tables and seats from the game server before the game user joins the game at first time, the game user can obtain the IDs of the current unoccupied tables and seats by comparing the IDs of the unoccupied tables and seats with the received IDs of all the tables and seats with state change when the game user leaves the game. In other words, only when the game user leaves the game, the game user, in accordance with the present invention, are provided with the IDs of the tables and seats with the state change. Accordingly, the data flow of system is reduced considerably, the speed of the game is accelerated, and the game user may pay fewer network fees. Meanwhile, in view of the requirement of the game user, other game room information changed apart from the IDs of the tables and seats with state change may be sent to the game user when the game user leaves the game, so as to meet the game user's diversified demands with data flow reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating the basic states and basic state changes of a game user as defined in accordance with the present invention.

FIG. 2 is a flowchart for providing a game user with game room information in accordance with embodiment 1 of the present invention by taking any game user as an example.

EMBODIMENTS OF THE INVENTION

The present invention will hereinafter be described in detail with reference to accompanying drawings and specific embodiments.

The basic states and basic state changes of a game user are, as shown in FIG. 1, described as follows.

There are 3 basic states of game user: out of game room (OutRoomState), in game room (InRoomState), and in game (InGameState).

There are 4 basic state changes of game user:

joining game room (JoinRoom), that is the game user changes from being in the OutRoomState to being in the InRoomState;

joining game (JoinGame), that is the game user changes from being in the InRoomState to being in the InGameState;

leaving game (JoinGame), that is the game user changes from being in the InGameState to being in the InRoomState; and

leaving game room (LeaveRoom), that is the game user changes from being in the InRoomState to being in the OutRoomState.

In accordance with the present invention, before each game user joins a game at first time, a game server sends IDs of unoccupied tables and seats in a game room to the game user. The game server checks states of each game user in the game room; if it is detected that the game user joins the game, the game server stores the time when the game user joins the game, and stores the state of the table and seat of the game user as occupied; if it is detected that the game user leaves the game, the game server stores the time when the game user leaves the game, stores the state of the table and seat of the game user as unoccupied, and sends the IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user.

FIG. 2 is a flowchart for providing a game user with game room information in accordance with an embodiment of the present invention by talking any game user as an example, as shown in FIG. 2, including the following processes.

Block 201: Before a game user joins a game at first time, a game server sends IDs of the unoccupied tables and seats in the game room to the game user.

The IDs of table and seat comprise a table ID and a seat ID, and the IDs of table and seat may be sent to the game user via UserTabInfo. The UserTabInfo includes the IDs of table and seat, and may also include: an operation ID, a password, etc. The game server may send the game room information required by the game user to the game user via the UserTabInfo.

The game server may record the states of all tables and seats in the game room, i.e., the operation IDs, and updates the operation IDs when there is a change in the states of the tables and seats.

In this process, before the game user joins the game at first time, the game server may send the IDs of the unoccupied tables and seats to the game user in two modes below.

Mode 1: When each game user just enters the game room, the game server sends to the game user the IDs of unoccupied tables and seats, and sends the IDs of tables and seats with state change to the game user as long as there is a change in the state of any table and seat. In this manner, before joining the game at first time, the game user may obtain the IDs of the current unoccupied tables and seats by comparing the IDs of the tables and seats with state change currently obtained with the IDs of the unoccupied tables and seats received at first time.

Mode 2: The game server does not send any game room information to the game user before the game user enters the game room, but sends to the game user the IDs of the current unoccupied tables and seats in response to a request sent from the game user for the IDs of the unoccupied tables and seats, before the game user joins the game at first time.

Block 202: The game server determines whether the state change of the game user is JoinGame or LeaveGame; if the state change is JoinGame, continue with Block 203; if the state change is LeaveGame, continue with Block 204; otherwise, directly cycle back to Block 202 to continue to perform the operation for determining whether the state change of the game user is JoinGame or LeaveGame.

Block 203: The game server stores the time of JoinGame of the game user, and stores the operation IDs of the table and seat of the game user as 1, and cycle back to Block 202.

That the operation IDs of the table and seat equal to 1 indicates that the table and seat are occupied.

Block 204: The game server stores the time of LeaveGame of the game user, stores the operation IDs of the table and seat of the game user as 0, and sends to the game user the IDs of the tables and seats with state change between the time of last JoinGame and the time of LeaveGame, and cycle back to Block 202.

That the operation IDs of the table and seat equal to 0 indicates that the table and seat are unoccupied.

The game server may determine state change of the tables and seats by searching the operation IDs of tables and seats of the game room. For certain table and seat, if the operation IDs of table and seat at the time of last JoinGame of the game user are different from that at the time of last LeaveGame of the game user, the game server can determines that there is a change in the state of the table and seat.

It should be noted that if there is a state change of table and seat during the time between the game user leaves a game and the game user starts a new one, the game server will also send the IDs of the table and seat with state change to the game user in two modes below.

Mode 1: The game server sends the IDs of the tables and seats with state change to the game user in real time.

Mode 2: The game server sends to the game user the IDs of the tables and seats with state change between the time of LeaveRoom and the present time in response to a request, when the game user sends the request for the game room information to the game server.

In the present embodiment, the game user has obtained the IDs of the unoccupied tables and seats from the game server at the time when the game user joins the game at first time. Therefore, the game user may obtain the IDs of the unoccupied tables and seats, when the game user leaves the game and wants to start a new game, by comparing the IDs of the unoccupied tables and seats with state change currently received from the game server with the IDs of all of the tables and seats with state change previously received from the game server and the IDs of the unoccupied tables and seats obtained from the game server.

Given by embodiment 1 is the case where the game server provides the game user with the least but necessary game room information. Actually, before starting a new game, the game user may also want to know other game room information apart from requiring the game server to provide the game user with the necessary IDs of the unoccupied tables and seats. Similarly, when leaving the game room, the game user may also want to know other game room information changed apart from his requirement of knowing the IDs of the tables and seats with state change. The process for providing a game user with game room information is given as follows by taking any game user as an example in accordance with another embodiment of the present invention.

Process 1: Before a game user first joins a game, a game server sends game room information to the game user.

The game room information includes the IDs of the unoccupied tables and seats in UserTabInfo, and the other information. The other information is classified into two cases as follows.

Case 1: The other information includes one of or any combination of the operation ID and password in the UserTabInfo.

Case 2: The other information at least includes the UserID in the UserTabInfo, and further includes one of or any combination of the operation ID and password in the UserTabInfo, or further includes one of or any combination of the UserID, name, head portrait ID, level, credit, and configuration information in the UserBaseInfo, or further includes the UserID in UserLeaveRoomInfo.

The mode in which the game server sends the game room information to the game user is the same as that in which the game user obtains the IDs of the unoccupied tables and seats in Block 201.

Process 2: The game server determines whether there is a state change of the game user; if there is a state change of the game user, the game server stores a new change state of the game user, and continue with Process 3; otherwise, cycle back to Process 2 to continue with the operation for determining whether there is a state change of the game user.

Process 3: The game server determines which of the following three: JoinGame, LeaveGame or LeaveRoom the state change of the game user is, and stores the state change of the game user, and performs the following processes.

Process A. If the state change of the game user is JoinGame, the game server stores the time of JoinGame of the game user, and stores the operation IDs of the table and seat of the game user as 1, and cycle back to Process 2.

Process B. If the state change of the game user is LeaveGame, the game server stores the time of LeaveGame of the game user, and stores the operation IDs of the table and seat of the game user as 0. The game server sends the game room information changed between the time of the last JoinGame of the game user and the time of LeaveGame of the game user to the game user.

The game room information changed includes the IDs of the tables and seats with state change, and further includes other game room information changed. The processes are described as follows.

a. Sending the UserTabInfo of all other game users of which the states are changed into JoinGame.

b. Sending to the game user the UserTabInfo of all the other game users of which the states are changed into LeaveGame.

c. Sending to the game user the UserTabInfo of all the other game users of which the states are changed into UserBaseInfo.

d. Sending to the game user the UserBaseInfo+UserTabInfo of all the other game users of which the states are changed into JoinRoom+JoinGame.

e. Sending to the game user the UserLeaveRoomInfo of all the other game users of which the states are changed into LeaveRoom.

f. Sending to the game user the UserLeaveRoomInfo+UserTabInfo of all the other game users of which the states are changed into LeaveGame+LeaveRoom.

g. Sending to the game user the UserTabInfo1+UserTabInfo2+UserTabInfo3+UserTabInfo4+ . . . of all the other game users of which the states are changed into JoinGame+LeaveGame+JoinGame+LeaveGame+ . . . .

h. Sending to the game user the UserBaseInfo+UserTabInfo1+UserTabInfo2+UserTabInfo3+UserTabInfo4+ . . . of all the other game users of which the states are changed into JoinRoom+JoinGame+LeaveGame+JoinGame+LeaveGame+ . . . .

From g and h, what information is sent to the game user leaving the game is determined by the times of the lastest state changes and the information stored in the game server.

From a to h, the state change before “+” occurs prior to that after “+”, e.g., “JoinRoom+JoinGame” shows that the “JoinRoom” of the game user occurs prior to “JoinGame”. The user information before “+” is stored prior to that after “+”, e.g., “UserTabInfo1+UserTabInfo2” shows that “UserTabInfo1” is stored prior to “UserTabInfo2”.

As described in Process B from a to h the game server provides the game user with all the information changed in the game room. Actually, it is possible that the game user only needs the UserTabInfo, so the game server may determine whether to send the UserBaseInfo and UserLeaveRoomInfo included in Process B from a to h to the game user according to a request from the game user.

From a to h, except for the IDs of table and seat, the UserTabInfo further includes the information corresponding to that obtained from the game server in Process 1, i.e., as long as there is a change in any information in the UserTabInfo of other game users obtained in Process 1, the game server will send the information changed to the game user leaving the game. Further, if the UserTabInfo does not include certain information, the certain information acts as information newly added to the UserTabInfo, the game server may also send the information newly added to the game user leaving the game.

From a to h, the UserBaseInfo should include at least UserID, and further include the information changed in the information obtained in Process 1. Similarly, if the information not included in Process 1 is newly added to UserBaseInfo, the game server may also send the information newly added of other game users to the game user leaving the game.

From a to h, UserLeaveRoomInfo includes at least UserID.

In applications, the game server may select one of or any combination of game room information from a to h and send it to the game user.

It should be noted that both the UserLeaveRoomInfo and UserTabInfo are data of small quantity.

Because the state change of each game user has been stored in the game server, when the state change of the game user is LeaveGame, the game server may obtain the time of last JoinGame of the game user and the time of LeaveGame of the game user, and searches for other game users whose states are changed between these two times; if the game server finds game users with state change, the game server sends the game room information corresponding to the game users with state change to the game user according to the state change.

It should be noted that if there is a change in any game room information, the game server will send the game room information changed to the game user in two modes described as follows, when the game user leaves a game and wants to starts a new one.

Mode 1: The game server sends the game room information changed to the game user in real time.

Mode 2: The game server sends to the game user the game room information changed between the time when the game user leaves the game room and the present time in response to a request, when the game user sends the request for the game room information to the game server.

Since the game user has obtained the game room information at the time from the game server before the game user joins the game at first time, the game user may obtain the current game room information by comparing the game room information currently and previously obtained with the game room information obtained at first time, when the game user leaves the game and wants to start a new game.

Process C. If the state change of the game user is LeaveRoom, the game server does not send any information to the game user, and the process is over.

It should be noted that in embodiments 1 and 2, when the game user leaves the game, the game user can also send a request for the game room information to the game server on his or her own initiative, and the game server sends the game room information changed between the time of last JoinGame of the game user and the time of LeaveGame of the game user to the game user in response to the request.

The above is only preferred embodiments of this invention, and is not for use in limiting the invention. Any modification, equivalent replacement or improvement made in accordance with the present invention should be covered within the protection scope of this invention. 

1. A method for providing a game user with game room information, wherein the game room information comprises identifications (IDs) of table and seat, the method comprising: storing the time when each game user joins a game in a game room, and storing the state of the table and seat of the game user as occupied when the game user joins the game; storing the time when the game user leaves the game, and storing the state of the table and seat of the game user as unoccupied when the game user leaves the game; and sending IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user.
 2. The method of claim 1, further comprising: sending IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time.
 3. The method of claim 2, wherein the sending the IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time comprises: sending to the game user the IDs of the unoccupied tables and seats in response to a request before the game user joins the game at first time, when receiving the request sent from the game user for the IDs of the unoccupied tables and seats.
 4. The method of claim 2, wherein the sending the IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time comprises: sending IDs of the unoccupied tables and seats when the game user joins the game room to the game user; and sending IDs of the tables and seats with state change after the game user has been in the game room to the game user in real time.
 5. The method of claim 1, wherein the game room information further comprises user base information, and the user base information comprises user IDs, the method further comprising: storing the user base information of the game user when the game user joins the game; and sending the user base information of all the game users joining the game between the time when the game user last joins the game and the time when the game user leaves the game to the game user when the game user leaves the game.
 6. The method of claim 5, wherein the user base information further comprises: at least one of head portrait ID, level, credit, and configuration information.
 7. The method of claim 1, wherein the game room information further comprises user information about leaving game room, and the user information about leaving game room comprises user IDs, the method further comprising: storing the user information about leaving game room of the game user when the game user leaves the game room; sending the user information about leaving game room of all the other game users leaving the game between the time when the game user last joins the game and the time when the game user leaves the game to the game user, after the game user leaves the game.
 8. The method of claim 1, further comprising: receiving a request for the game room information sent from the game user leaving the game before sending the IDs of all the tables and seats with state change to the game user leaving the game.
 9. The method of claim 1, when the game user leaves the game and wants to start a new one, the method further comprising: sending the game room information comprising at least the IDs of the tables and seats with state change to the game user in real time; or sending to the game user the game room information comprising at least the IDs of the tables and seats with state change between the time when the game user leaves the game and the present time in response to a request sent from the game user for the game room information.
 10. The method of claim 1, wherein the IDs of the tables and seats are sent to the game user via table and seat information of user.
 11. The method of claim 10, wherein the table and seat information of user further comprises at least one of user ID, states of table and seat, and table and seat password.
 12. The method of claim 1, wherein the sending the IDs of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user comprises: determining state change of the tables and seats by comparing the states of the tables and seats at the time when the game user last joins the game with the states of the tables and seats at the time when the game user leaves the game; and sending the IDs of all the tables and seats with state change to the game user.
 13. A game server, comprising: a first unit configured to store the time when each game user joins a game in a game room, and store the state of the table and seat of the game user as occupied when the game user joins the game; store the time when the game user leaves the game, and store the state of the table and seat of the game user as unoccupied when the game user leaves the game; and a second unit configured to send identifications (IDs) of all the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game to the game user.
 14. The game server of claim 13, further comprising: a third unit configured to send IDs of the unoccupied tables and seats to the game user before the game user joins the game at first time.
 15. A mobile terminal, comprising: a first unit configured to receive identifications (IDs) of the unoccupied tables and seats from a game server before a game user of the mobile terminal first joins a game, and receive IDs of the tables and seats with state change between the time when the game user last joins the game and the time when the game user leaves the game from the game server; a second unit configured to determine unoccupied tables and seats by comparing the IDs of the unoccupied tables and seats between the latest time when the game user joins the game and the time when the game use leaves the game with the IDs of the tables and seats with state change. 